package com.yeyks.service;

import com.yeyks.dal.domain.UserAccountOverview;
import com.yeyks.dal.domain.UserInfo;
import com.yeyks.dto.UserAccountOverviewDTO;

/**
 * @author fuchangshuai
 * @date 2019/4/23 0023
 */
public interface UserAccountOverviewService {

    /**
     * 通过用户的id查询用户账户信息(没有则创建)
     *
     * @param userId
     * @return
     */
    UserAccountOverview getUserAccountNoCreate(Integer userId);

    /**
     * 增加用户金额
     *
     * @param amount
     * @param userId
     * @param type
     * @param remark 账单类型：1 充值 2 佣金 3、提现 4、消费
     * @return
     */
    Boolean addAmount(Integer amount, Integer userId, Integer type, String remark);

    /**
     * 减少账户金额
     *
     * @param amount 操作金额数
     * @param userId 用户id
     * @param remark 备注
     * @param type   账单类型：1 充值 2 佣金 3、提现 4、消费
     * @return
     */
    Boolean descAmount(Integer amount, Integer userId, Integer type, String remark);

    /**
     * 获取用户账户等相关信息
     *
     * @param userInfo
     * @return
     */
    UserAccountOverviewDTO info(UserInfo userInfo);
}
